﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LojaVirtual.Comuns.Clientes;
using System.Data.Entity;

namespace LojaVirtual.Infra
{
	public class CompraRepository
	{
		private GenericRepository<Compra> _compra;

		public CompraRepository()
        {
			_compra = new GenericRepository<Compra>();
        }

		public CompraRepository(DbContext context, DbSet<Compra> db)
		{
			_compra = new GenericRepository<Compra>(context, db);
		}

		public void EfetuaCompra(Compra compra)
		{
			_compra.Inserir(compra);
		}

		public IEnumerable<Compra> Recuperar()
		{
			return _compra.Recuperar();
		}

		public Compra Recuperar(int compraID)
		{
			return _compra.Recuperar(compraID);
		}

		public void Delete(int id)
		{
			var entidade = _compra.Recuperar(id);
			Delete(entidade);
		}

		public void Delete(Compra entidade)
		{
			_compra.Delete(entidade);
		}


		public void ConfirmarPagamento(int id)
		{
			var compra = _compra.Recuperar(id);
			compra.PagamentoConfirmado = true;

			_compra.Atualizar(compra);
		}
	}
}
